/*
 *计算今天还要多少秒并返回值
 */
long calculateTimeUntilMidnight(struct tm timeNow)
{
    long hoursUntilMidnight = 3600 * timeNow.tm_hour;
    long minutesUntilMidnight = 60 * timeNow.tm_min;
    long secondsUntilMidnight = timeNow.tm_sec;
    long totalSecondsUntilMidnight = 86400 - hoursUntilMidnight - minutesUntilMidnight - secondsUntilMidnight;
    return totalSecondsUntilMidnight; // 返回秒数
}

/*
 *在文件中查找指定数据并读取数据
 */
bool processFile(String time, char parameterData[])
{
    File file = SPIFFS.open("/charts.txt", "r");
    if (!file)
    {
        Serial.println("Failed to open file");
        return false;
    }
    // 读取月份数据
    size_t i;
    String content;
    while (file.available())
    {
        content = file.readStringUntil('\n');

        if (content.startsWith(time))
        {
            for (i = 0; i < content.length() && i < 124; i++)
            {
                parameterData[i] = content[i];
            }
            parameterData[i++] = '\0'; // 确保字符串结束
            file.close();
            return true;
        }
        Serial.println(time);
        Serial.println(content);
        Serial.println(parameterData);
    }
    file.seek(0);
    Serial.println(file.readString());
    file.close();
    return false;
}

/*
 *在文件中查找指定数据并修改后面的数据 W修改 , R读取
 */
void operateOnDataInFile(const char *filename, String targetChar, String action, int &newData)
{ // 使用 int 引用
    File file = SPIFFS.open(filename, "r+");
    targetChar += " :";
    if (!file)
    {
        Serial.println("Failed to open file");
        File file = SPIFFS.open(filename, "w"); // 如果文件不存在，创建新文件
    }
    if (newData > 1000000000) // 如果写入的数据超出存储空间
    {
        Serial.println("超出数据范围");
        return;
    }
}